import {
	whitelist,
	baseURL
} from "@/config.js";
/**
 * 请求拦截器
 * @param {*} Vue
 * @param {*} vm
 */
const install = (Vue, vm) => {
	Vue.prototype.$zx.http.setConfig({
		baseUrl: baseURL,
		// baseUrl: 'https://zxing.run/api'
	});
	// 请求拦截
	Vue.prototype.$zx.http.interceptor.request = (config) => {
		let hasWhite = false;
		whitelist.forEach((path) => {
			if (path === config.url) {
				hasWhite = true;
			}
		});
		// !hasWhite &&
		// 	(config.header["Authorization"] =
		// 		"Bearer " + uni.getStorageSync("token"));

		return config;
	};
	//响应拦截
	Vue.prototype.$zx.http.interceptor.response = (res) => {

		if (vm.$zx.http.config.originalData) {
			// console.log("res.statusCode=" + res.statusCode)
			if (res.statusCode === 200) {
				// 处理业务code
				// console.log("res.data.code=" + res.data.code)
				if (res.data.code === 200) {
					// console.log("res.data.code=" + res.data.code)
					return res.data.data;
				} else {
					uni.stopPullDownRefresh();
					uni.$zx.msg(res.data.message);
					return false;
				}
			} else if (res.statusCode === 500) {
				if (res.data.code === -2) {
					uni.reLaunch({
						url: "/pages/main/login/login",
					});
				} else return false;
			} else {
				return false;
			}
		} else {
			//不是返回原始数据
			if (res.code === 0) {
				return res.data;
			} else {
				// vm.$refs.uToast.show({ title: res.message, type: "error" });

				return false;
			}
		}
	};
};
export default {
	install,
};